package initialize

import (
	"github.com/gin-gonic/gin/binding"
	"github.com/go-playground/validator/v10"
	"reflect"
	"strings"
)

func InitTrans(locale string) (err error) {
	//修改gin框架中的validator引擎属性，实现定制
	if v, ok := binding.Validator.Engine().(*validator.Validate); ok {
		//注册一个获取json的tag自定义方法
		v.RegisterTagNameFunc(func(field reflect.StructField) string {
			name := strings.SplitN(field.Tag.Get("json"), ",", 2)[0]
			if name == "-" {
				return ""
			}
			return name
		})
		//zhT := zh.New() //中文翻译器
		//enT := en.New() //英文翻译器
		////第一个参数备用的语言环境，后面的参数是应该支持的语言环境
		//uni := ut.New(enT, zhT, enT)
		//global.Trans, ok = uni.GetTranslator(locale)
		//if !ok {
		//	return fmt.Errorf("uni.GetTranslator(%s)", locale)
		//}
		//switch locale {
		//case "en":
		//	en_translations.RegisterDefaultTranslations(v, global.Trans)
		//case "zh":
		//	zh_translations.RegisterDefaultTranslations(v, global.Trans)
		//default:
		//	en_translations.RegisterDefaultTranslations(v, global.Trans)
		//}
	}
	return nil
}
